//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new Number(Number.MIN_VALUE) + -0);
write(new Number(Number.MIN_VALUE) + 0);
write(new Number(Number.MIN_VALUE) + 0.0);
write(new Number(Number.MIN_VALUE) + -0.0);
write(new Number(Number.MIN_VALUE) + +0.0);
write(new Number(Number.MIN_VALUE) + 1);
write(new Number(Number.MIN_VALUE) + 10);
write(new Number(Number.MIN_VALUE) + 10.0);
write(new Number(Number.MIN_VALUE) + 10.1);
write(new Number(Number.MIN_VALUE) + -1);
write(new Number(Number.MIN_VALUE) + -10);
write(new Number(Number.MIN_VALUE) + -10.0);
write(new Number(Number.MIN_VALUE) + -10.1);
write(new Number(Number.MIN_VALUE) + Number.MAX_VALUE);
write(new Number(Number.MIN_VALUE) + Number.MIN_VALUE);
write(new Number(Number.MIN_VALUE) + Number.NaN);
write(new Number(Number.MIN_VALUE) + Number.POSITIVE_INFINITY);
write(new Number(Number.MIN_VALUE) + Number.NEGATIVE_INFINITY);
write(new Number(Number.MIN_VALUE) + new Number(NaN));
write(new Number(Number.MIN_VALUE) + new Number(+0));
write(new Number(Number.MIN_VALUE) + new Number(-0));
write(new Number(Number.MIN_VALUE) + new Number(0));
write(new Number(Number.MIN_VALUE) + new Number(0.0));
write(new Number(Number.MIN_VALUE) + new Number(-0.0));
write(new Number(Number.MIN_VALUE) + new Number(+0.0));
write(new Number(Number.MIN_VALUE) + new Number(1));
write(new Number(Number.MIN_VALUE) + new Number(10));
write(new Number(Number.MIN_VALUE) + new Number(10.0));
write(new Number(Number.MIN_VALUE) + new Number(10.1));
write(new Number(Number.MIN_VALUE) + new Number(-1));
write(new Number(Number.MIN_VALUE) + new Number(-10));
write(new Number(Number.MIN_VALUE) + new Number(-10.0));
write(new Number(Number.MIN_VALUE) + new Number(-10.1));
write(new Number(Number.MIN_VALUE) + new Number(Number.MAX_VALUE));
write(new Number(Number.MIN_VALUE) + new Number(Number.MIN_VALUE));
write(new Number(Number.MIN_VALUE) + new Number(Number.NaN));
write(new Number(Number.MIN_VALUE) + new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.MIN_VALUE) + new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.MIN_VALUE) + '');
write(new Number(Number.MIN_VALUE) + 0xa);
write(new Number(Number.MIN_VALUE) + 04);
write(new Number(Number.MIN_VALUE) + 'hello');
write(new Number(Number.MIN_VALUE) + 'hel' + 'lo');
write(new Number(Number.MIN_VALUE) + String(''));
write(new Number(Number.MIN_VALUE) + String('hello'));
write(new Number(Number.MIN_VALUE) + String('h' + 'ello'));
write(new Number(Number.MIN_VALUE) + new String(''));
write(new Number(Number.MIN_VALUE) + new String('hello'));
write(new Number(Number.MIN_VALUE) + new String('he' + 'llo'));
write(new Number(Number.MIN_VALUE) + new Object());
write(new Number(Number.MIN_VALUE) + new Object());
write(new Number(Number.MIN_VALUE) + [1, 2, 3]);
write(new Number(Number.MIN_VALUE) + [1 ,2 , 3]);
write(new Number(Number.MIN_VALUE) + new Array(3));
write(new Number(Number.MIN_VALUE) + Array(3));
write(new Number(Number.MIN_VALUE) + new Array(1 ,2 ,3));
write(new Number(Number.MIN_VALUE) + Array(1));
write(new Number(Number.MIN_VALUE) + foo);
write(new Number(Number.NaN) + undefined);
write(new Number(Number.NaN) + null);
write(new Number(Number.NaN) + true);
write(new Number(Number.NaN) + false);
write(new Number(Number.NaN) + Boolean(true));
write(new Number(Number.NaN) + Boolean(false));
write(new Number(Number.NaN) + new Boolean(true));
write(new Number(Number.NaN) + new Boolean(false));
write(new Number(Number.NaN) + NaN);
write(new Number(Number.NaN) + +0);
write(new Number(Number.NaN) + -0);
write(new Number(Number.NaN) + 0);
write(new Number(Number.NaN) + 0.0);
write(new Number(Number.NaN) + -0.0);
write(new Number(Number.NaN) + +0.0);
write(new Number(Number.NaN) + 1);
write(new Number(Number.NaN) + 10);
write(new Number(Number.NaN) + 10.0);
write(new Number(Number.NaN) + 10.1);
write(new Number(Number.NaN) + -1);
write(new Number(Number.NaN) + -10);
write(new Number(Number.NaN) + -10.0);
write(new Number(Number.NaN) + -10.1);
write(new Number(Number.NaN) + Number.MAX_VALUE);
write(new Number(Number.NaN) + Number.MIN_VALUE);
write(new Number(Number.NaN) + Number.NaN);
write(new Number(Number.NaN) + Number.POSITIVE_INFINITY);
write(new Number(Number.NaN) + Number.NEGATIVE_INFINITY);
write(new Number(Number.NaN) + new Number(NaN));
write(new Number(Number.NaN) + new Number(+0));
write(new Number(Number.NaN) + new Number(-0));
write(new Number(Number.NaN) + new Number(0));
write(new Number(Number.NaN) + new Number(0.0));
write(new Number(Number.NaN) + new Number(-0.0));
write(new Number(Number.NaN) + new Number(+0.0));
write(new Number(Number.NaN) + new Number(1));
write(new Number(Number.NaN) + new Number(10));
write(new Number(Number.NaN) + new Number(10.0));
write(new Number(Number.NaN) + new Number(10.1));
write(new Number(Number.NaN) + new Number(-1));
write(new Number(Number.NaN) + new Number(-10));
write(new Number(Number.NaN) + new Number(-10.0));
write(new Number(Number.NaN) + new Number(-10.1));
write(new Number(Number.NaN) + new Number(Number.MAX_VALUE));
write(new Number(Number.NaN) + new Number(Number.MIN_VALUE));
write(new Number(Number.NaN) + new Number(Number.NaN));
write(new Number(Number.NaN) + new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NaN) + new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NaN) + '');
write(new Number(Number.NaN) + 0xa);
write(new Number(Number.NaN) + 04);
write(new Number(Number.NaN) + 'hello');
write(new Number(Number.NaN) + 'hel' + 'lo');
write(new Number(Number.NaN) + String(''));
write(new Number(Number.NaN) + String('hello'));
write(new Number(Number.NaN) + String('h' + 'ello'));
write(new Number(Number.NaN) + new String(''));
write(new Number(Number.NaN) + new String('hello'));
write(new Number(Number.NaN) + new String('he' + 'llo'));
write(new Number(Number.NaN) + new Object());
write(new Number(Number.NaN) + new Object());
write(new Number(Number.NaN) + [1, 2, 3]);
write(new Number(Number.NaN) + [1 ,2 , 3]);
write(new Number(Number.NaN) + new Array(3));
write(new Number(Number.NaN) + Array(3));
write(new Number(Number.NaN) + new Array(1 ,2 ,3));
write(new Number(Number.NaN) + Array(1));
write(new Number(Number.NaN) + foo);
write(new Number(Number.POSITIVE_INFINITY) + undefined);
write(new Number(Number.POSITIVE_INFINITY) + null);
write(new Number(Number.POSITIVE_INFINITY) + true);
write(new Number(Number.POSITIVE_INFINITY) + false);
write(new Number(Number.POSITIVE_INFINITY) + Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) + Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) + new Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) + new Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) + NaN);
write(new Number(Number.POSITIVE_INFINITY) + +0);
write(new Number(Number.POSITIVE_INFINITY) + -0);
write(new Number(Number.POSITIVE_INFINITY) + 0);
write(new Number(Number.POSITIVE_INFINITY) + 0.0);
write(new Number(Number.POSITIVE_INFINITY) + -0.0);
write(new Number(Number.POSITIVE_INFINITY) + +0.0);
write(new Number(Number.POSITIVE_INFINITY) + 1);
write(new Number(Number.POSITIVE_INFINITY) + 10);
write(new Number(Number.POSITIVE_INFINITY) + 10.0);
write(new Number(Number.POSITIVE_INFINITY) + 10.1);
write(new Number(Number.POSITIVE_INFINITY) + -1);
write(new Number(Number.POSITIVE_INFINITY) + -10);
write(new Number(Number.POSITIVE_INFINITY) + -10.0);
write(new Number(Number.POSITIVE_INFINITY) + -10.1);
write(new Number(Number.POSITIVE_INFINITY) + Number.MAX_VALUE);
write(new Number(Number.POSITIVE_INFINITY) + Number.MIN_VALUE);
write(new Number(Number.POSITIVE_INFINITY) + Number.NaN);
write(new Number(Number.POSITIVE_INFINITY) + Number.POSITIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) + Number.NEGATIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) + new Number(NaN));
write(new Number(Number.POSITIVE_INFINITY) + new Number(+0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(0.0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-0.0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(+0.0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(1));
write(new Number(Number.POSITIVE_INFINITY) + new Number(10));
write(new Number(Number.POSITIVE_INFINITY) + new Number(10.0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(10.1));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-1));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-10));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-10.0));
write(new Number(Number.POSITIVE_INFINITY) + new Number(-10.1));
write(new Number(Number.POSITIVE_INFINITY) + new Number(Number.MAX_VALUE));
write(new Number(Number.POSITIVE_INFINITY) + new Number(Number.MIN_VALUE));
write(new Number(Number.POSITIVE_INFINITY) + new Number(Number.NaN));
write(new Number(Number.POSITIVE_INFINITY) + new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) + new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) + '');
write(new Number(Number.POSITIVE_INFINITY) + 0xa);
write(new Number(Number.POSITIVE_INFINITY) + 04);
write(new Number(Number.POSITIVE_INFINITY) + 'hello');
write(new Number(Number.POSITIVE_INFINITY) + 'hel' + 'lo');
write(new Number(Number.POSITIVE_INFINITY) + String(''));
write(new Number(Number.POSITIVE_INFINITY) + String('hello'));
write(new Number(Number.POSITIVE_INFINITY) + String('h' + 'ello'));
write(new Number(Number.POSITIVE_INFINITY) + new String(''));
write(new Number(Number.POSITIVE_INFINITY) + new String('hello'));
write(new Number(Number.POSITIVE_INFINITY) + new String('he' + 'llo'));
write(new Number(Number.POSITIVE_INFINITY) + new Object());
write(new Number(Number.POSITIVE_INFINITY) + new Object());
write(new Number(Number.POSITIVE_INFINITY) + [1, 2, 3]);
write(new Number(Number.POSITIVE_INFINITY) + [1 ,2 , 3]);
write(new Number(Number.POSITIVE_INFINITY) + new Array(3));
write(new Number(Number.POSITIVE_INFINITY) + Array(3));
write(new Number(Number.POSITIVE_INFINITY) + new Array(1 ,2 ,3));
write(new Number(Number.POSITIVE_INFINITY) + Array(1));
write(new Number(Number.POSITIVE_INFINITY) + foo);
write(new Number(Number.NEGATIVE_INFINITY) + undefined);
write(new Number(Number.NEGATIVE_INFINITY) + null);
write(new Number(Number.NEGATIVE_INFINITY) + true);
write(new Number(Number.NEGATIVE_INFINITY) + false);
write(new Number(Number.NEGATIVE_INFINITY) + Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) + Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) + new Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) + new Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) + NaN);
write(new Number(Number.NEGATIVE_INFINITY) + +0);
write(new Number(Number.NEGATIVE_INFINITY) + -0);
write(new Number(Number.NEGATIVE_INFINITY) + 0);
write(new Number(Number.NEGATIVE_INFINITY) + 0.0);
write(new Number(Number.NEGATIVE_INFINITY) + -0.0);
write(new Number(Number.NEGATIVE_INFINITY) + +0.0);
write(new Number(Number.NEGATIVE_INFINITY) + 1);
write(new Number(Number.NEGATIVE_INFINITY) + 10);
write(new Number(Number.NEGATIVE_INFINITY) + 10.0);
write(new Number(Number.NEGATIVE_INFINITY) + 10.1);
write(new Number(Number.NEGATIVE_INFINITY) + -1);
write(new Number(Number.NEGATIVE_INFINITY) + -10);
write(new Number(Number.NEGATIVE_INFINITY) + -10.0);
write(new Number(Number.NEGATIVE_INFINITY) + -10.1);
write(new Number(Number.NEGATIVE_INFINITY) + Number.MAX_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) + Number.MIN_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) + Number.NaN);
write(new Number(Number.NEGATIVE_INFINITY) + Number.POSITIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) + Number.NEGATIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) + new Number(NaN));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(+0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(0.0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-0.0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(+0.0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(1));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(10));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(10.0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(10.1));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-1));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-10));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-10.0));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(-10.1));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(Number.MAX_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(Number.MIN_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(Number.NaN));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) + new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) + '');
write(new Number(Number.NEGATIVE_INFINITY) + 0xa);
write(new Number(Number.NEGATIVE_INFINITY) + 04);
write(new Number(Number.NEGATIVE_INFINITY) + 'hello');
write(new Number(Number.NEGATIVE_INFINITY) + 'hel' + 'lo');
write(new Number(Number.NEGATIVE_INFINITY) + String(''));
write(new Number(Number.NEGATIVE_INFINITY) + String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) + String('h' + 'ello'));
write(new Number(Number.NEGATIVE_INFINITY) + new String(''));
write(new Number(Number.NEGATIVE_INFINITY) + new String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) + new String('he' + 'llo'));
write(new Number(Number.NEGATIVE_INFINITY) + new Object());
write(new Number(Number.NEGATIVE_INFINITY) + new Object());
write(new Number(Number.NEGATIVE_INFINITY) + [1, 2, 3]);
write(new Number(Number.NEGATIVE_INFINITY) + [1 ,2 , 3]);
write(new Number(Number.NEGATIVE_INFINITY) + new Array(3));
write(new Number(Number.NEGATIVE_INFINITY) + Array(3));
write(new Number(Number.NEGATIVE_INFINITY) + new Array(1 ,2 ,3));
write(new Number(Number.NEGATIVE_INFINITY) + Array(1));
write(new Number(Number.NEGATIVE_INFINITY) + foo);
write('' + undefined);
write('' + null);
write('' + true);
write('' + false);
write('' + Boolean(true));
write('' + Boolean(false));
write('' + new Boolean(true));
write('' + new Boolean(false));
write('' + NaN);
write('' + +0);
write('' + -0);
write('' + 0);
write('' + 0.0);
write('' + -0.0);
write('' + +0.0);
write('' + 1);
write('' + 10);
write('' + 10.0);
write('' + 10.1);
write('' + -1);
write('' + -10);
write('' + -10.0);
write('' + -10.1);
write('' + Number.MAX_VALUE);
write('' + Number.MIN_VALUE);
write('' + Number.NaN);
write('' + Number.POSITIVE_INFINITY);
write('' + Number.NEGATIVE_INFINITY);
write('' + new Number(NaN));
write('' + new Number(+0));
write('' + new Number(-0));
write('' + new Number(0));
write('' + new Number(0.0));
write('' + new Number(-0.0));
write('' + new Number(+0.0));
write('' + new Number(1));
write('' + new Number(10));
write('' + new Number(10.0));
write('' + new Number(10.1));
write('' + new Number(-1));
write('' + new Number(-10));
write('' + new Number(-10.0));
write('' + new Number(-10.1));
write('' + new Number(Number.MAX_VALUE));
write('' + new Number(Number.MIN_VALUE));
write('' + new Number(Number.NaN));
write('' + new Number(Number.POSITIVE_INFINITY));
write('' + new Number(Number.NEGATIVE_INFINITY));
write('' + '');
write('' + 0xa);
write('' + 04);
write('' + 'hello');
write('' + 'hel' + 'lo');
write('' + String(''));
write('' + String('hello'));
write('' + String('h' + 'ello'));
write('' + new String(''));
write('' + new String('hello'));
write('' + new String('he' + 'llo'));
write('' + new Object());
write('' + new Object());
write('' + [1, 2, 3]);
write('' + [1 ,2 , 3]);
write('' + new Array(3));
write('' + Array(3));
write('' + new Array(1 ,2 ,3));
write('' + Array(1));
write('' + foo);
write(0xa + undefined);
write(0xa + null);
write(0xa + true);
write(0xa + false);
write(0xa + Boolean(true));
write(0xa + Boolean(false));
write(0xa + new Boolean(true));
write(0xa + new Boolean(false));
write(0xa + NaN);
write(0xa + +0);
write(0xa + -0);
write(0xa + 0);
write(0xa + 0.0);
write(0xa + -0.0);
write(0xa + +0.0);
write(0xa + 1);
write(0xa + 10);
write(0xa + 10.0);
write(0xa + 10.1);
write(0xa + -1);
write(0xa + -10);
write(0xa + -10.0);
write(0xa + -10.1);
write(0xa + Number.MAX_VALUE);
write(0xa + Number.MIN_VALUE);
write(0xa + Number.NaN);
write(0xa + Number.POSITIVE_INFINITY);
write(0xa + Number.NEGATIVE_INFINITY);
write(0xa + new Number(NaN));
write(0xa + new Number(+0));
write(0xa + new Number(-0));
write(0xa + new Number(0));
write(0xa + new Number(0.0));
write(0xa + new Number(-0.0));
write(0xa + new Number(+0.0));
write(0xa + new Number(1));
write(0xa + new Number(10));
write(0xa + new Number(10.0));
write(0xa + new Number(10.1));
write(0xa + new Number(-1));
write(0xa + new Number(-10));
write(0xa + new Number(-10.0));
write(0xa + new Number(-10.1));
write(0xa + new Number(Number.MAX_VALUE));
write(0xa + new Number(Number.MIN_VALUE));
write(0xa + new Number(Number.NaN));
write(0xa + new Number(Number.POSITIVE_INFINITY));
write(0xa + new Number(Number.NEGATIVE_INFINITY));
write(0xa + '');
write(0xa + 0xa);
write(0xa + 04);
write(0xa + 'hello');
write(0xa + 'hel' + 'lo');
write(0xa + String(''));
write(0xa + String('hello'));
write(0xa + String('h' + 'ello'));
write(0xa + new String(''));
write(0xa + new String('hello'));
write(0xa + new String('he' + 'llo'));
write(0xa + new Object());
write(0xa + new Object());
write(0xa + [1, 2, 3]);
write(0xa + [1 ,2 , 3]);
write(0xa + new Array(3));
write(0xa + Array(3));
write(0xa + new Array(1 ,2 ,3));
write(0xa + Array(1));
write(0xa + foo);
write(04 + undefined);
write(04 + null);
write(04 + true);
write(04 + false);
write(04 + Boolean(true));
write(04 + Boolean(false));
write(04 + new Boolean(true));
write(04 + new Boolean(false));
write(04 + NaN);
write(04 + +0);
write(04 + -0);
write(04 + 0);
write(04 + 0.0);
write(04 + -0.0);
write(04 + +0.0);
write(04 + 1);
write(04 + 10);
write(04 + 10.0);
write(04 + 10.1);
write(04 + -1);
write(04 + -10);
write(04 + -10.0);
write(04 + -10.1);
write(04 + Number.MAX_VALUE);
write(04 + Number.MIN_VALUE);
write(04 + Number.NaN);
write(04 + Number.POSITIVE_INFINITY);
write(04 + Number.NEGATIVE_INFINITY);
write(04 + new Number(NaN));
write(04 + new Number(+0));
write(04 + new Number(-0));
write(04 + new Number(0));
write(04 + new Number(0.0));
write(04 + new Number(-0.0));
write(04 + new Number(+0.0));
write(04 + new Number(1));
write(04 + new Number(10));
write(04 + new Number(10.0));
write(04 + new Number(10.1));
write(04 + new Number(-1));
write(04 + new Number(-10));
write(04 + new Number(-10.0));
write(04 + new Number(-10.1));
write(04 + new Number(Number.MAX_VALUE));
write(04 + new Number(Number.MIN_VALUE));
write(04 + new Number(Number.NaN));
write(04 + new Number(Number.POSITIVE_INFINITY));
write(04 + new Number(Number.NEGATIVE_INFINITY));
write(04 + '');
write(04 + 0xa);
write(04 + 04);
write(04 + 'hello');
write(04 + 'hel' + 'lo');
write(04 + String(''));
write(04 + String('hello'));
write(04 + String('h' + 'ello'));
write(04 + new String(''));
write(04 + new String('hello'));
write(04 + new String('he' + 'llo'));
write(04 + new Object());
write(04 + new Object());
write(04 + [1, 2, 3]);
write(04 + [1 ,2 , 3]);
write(04 + new Array(3));
write(04 + Array(3));
write(04 + new Array(1 ,2 ,3));
write(04 + Array(1));
write(04 + foo);
write('hello' + undefined);
write('hello' + null);
write('hello' + true);
write('hello' + false);
write('hello' + Boolean(true));
write('hello' + Boolean(false));
write('hello' + new Boolean(true));
write('hello' + new Boolean(false));
write('hello' + NaN);
write('hello' + +0);
write('hello' + -0);
write('hello' + 0);
write('hello' + 0.0);
write('hello' + -0.0);
write('hello' + +0.0);
write('hello' + 1);
write('hello' + 10);
write('hello' + 10.0);
write('hello' + 10.1);
write('hello' + -1);
write('hello' + -10);
write('hello' + -10.0);
write('hello' + -10.1);
write('hello' + Number.MAX_VALUE);
write('hello' + Number.MIN_VALUE);
write('hello' + Number.NaN);
write('hello' + Number.POSITIVE_INFINITY);
write('hello' + Number.NEGATIVE_INFINITY);
write('hello' + new Number(NaN));
write('hello' + new Number(+0));
write('hello' + new Number(-0));
write('hello' + new Number(0));
write('hello' + new Number(0.0));
write('hello' + new Number(-0.0));
write('hello' + new Number(+0.0));
write('hello' + new Number(1));
write('hello' + new Number(10));
write('hello' + new Number(10.0));
write('hello' + new Number(10.1));
write('hello' + new Number(-1));
write('hello' + new Number(-10));
write('hello' + new Number(-10.0));
write('hello' + new Number(-10.1));
write('hello' + new Number(Number.MAX_VALUE));
write('hello' + new Number(Number.MIN_VALUE));
write('hello' + new Number(Number.NaN));
write('hello' + new Number(Number.POSITIVE_INFINITY));
write('hello' + new Number(Number.NEGATIVE_INFINITY));
write('hello' + '');
write('hello' + 0xa);
write('hello' + 04);
write('hello' + 'hello');
write('hello' + 'hel' + 'lo');
write('hello' + String(''));
write('hello' + String('hello'));
write('hello' + String('h' + 'ello'));
write('hello' + new String(''));
write('hello' + new String('hello'));
write('hello' + new String('he' + 'llo'));
write('hello' + new Object());
write('hello' + new Object());
write('hello' + [1, 2, 3]);
write('hello' + [1 ,2 , 3]);
write('hello' + new Array(3));
write('hello' + Array(3));
write('hello' + new Array(1 ,2 ,3));
write('hello' + Array(1));
write('hello' + foo);
write('hel' + 'lo' + undefined);
write('hel' + 'lo' + null);
write('hel' + 'lo' + true);
write('hel' + 'lo' + false);
write('hel' + 'lo' + Boolean(true));
write('hel' + 'lo' + Boolean(false));
write('hel' + 'lo' + new Boolean(true));
write('hel' + 'lo' + new Boolean(false));
write('hel' + 'lo' + NaN);
write('hel' + 'lo' + +0);
write('hel' + 'lo' + -0);
write('hel' + 'lo' + 0);
write('hel' + 'lo' + 0.0);
write('hel' + 'lo' + -0.0);
write('hel' + 'lo' + +0.0);
write('hel' + 'lo' + 1);
write('hel' + 'lo' + 10);
write('hel' + 'lo' + 10.0);
write('hel' + 'lo' + 10.1);
write('hel' + 'lo' + -1);
write('hel' + 'lo' + -10);
write('hel' + 'lo' + -10.0);
write('hel' + 'lo' + -10.1);
write('hel' + 'lo' + Number.MAX_VALUE);
write('hel' + 'lo' + Number.MIN_VALUE);
write('hel' + 'lo' + Number.NaN);
write('hel' + 'lo' + Number.POSITIVE_INFINITY);
write('hel' + 'lo' + Number.NEGATIVE_INFINITY);
write('hel' + 'lo' + new Number(NaN));
write('hel' + 'lo' + new Number(+0));
write('hel' + 'lo' + new Number(-0));
write('hel' + 'lo' + new Number(0));
write('hel' + 'lo' + new Number(0.0));
write('hel' + 'lo' + new Number(-0.0));
write('hel' + 'lo' + new Number(+0.0));
write('hel' + 'lo' + new Number(1));
write('hel' + 'lo' + new Number(10));
write('hel' + 'lo' + new Number(10.0));
write('hel' + 'lo' + new Number(10.1));
write('hel' + 'lo' + new Number(-1));
write('hel' + 'lo' + new Number(-10));
write('hel' + 'lo' + new Number(-10.0));
write('hel' + 'lo' + new Number(-10.1));
write('hel' + 'lo' + new Number(Number.MAX_VALUE));
write('hel' + 'lo' + new Number(Number.MIN_VALUE));
write('hel' + 'lo' + new Number(Number.NaN));
write('hel' + 'lo' + new Number(Number.POSITIVE_INFINITY));
write('hel' + 'lo' + new Number(Number.NEGATIVE_INFINITY));
write('hel' + 'lo' + '');
write('hel' + 'lo' + 0xa);
write('hel' + 'lo' + 04);
write('hel' + 'lo' + 'hello');
write('hel' + 'lo' + 'hel' + 'lo');
write('hel' + 'lo' + String(''));
write('hel' + 'lo' + String('hello'));
write('hel' + 'lo' + String('h' + 'ello'));
write('hel' + 'lo' + new String(''));
write('hel' + 'lo' + new String('hello'));
write('hel' + 'lo' + new String('he' + 'llo'));
write('hel' + 'lo' + new Object());
write('hel' + 'lo' + new Object());
write('hel' + 'lo' + [1, 2, 3]);
write('hel' + 'lo' + [1 ,2 , 3]);
write('hel' + 'lo' + new Array(3));
write('hel' + 'lo' + Array(3));
write('hel' + 'lo' + new Array(1 ,2 ,3));
write('hel' + 'lo' + Array(1));
write('hel' + 'lo' + foo);
write(String('') + undefined);
write(String('') + null);
write(String('') + true);
write(String('') + false);
write(String('') + Boolean(true));
write(String('') + Boolean(false));
write(String('') + new Boolean(true));
write(String('') + new Boolean(false));
write(String('') + NaN);
write(String('') + +0);
write(String('') + -0);
write(String('') + 0);
write(String('') + 0.0);
write(String('') + -0.0);
write(String('') + +0.0);
write(String('') + 1);
write(String('') + 10);
write(String('') + 10.0);
write(String('') + 10.1);
write(String('') + -1);
write(String('') + -10);
write(String('') + -10.0);
write(String('') + -10.1);
write(String('') + Number.MAX_VALUE);
write(String('') + Number.MIN_VALUE);
write(String('') + Number.NaN);
write(String('') + Number.POSITIVE_INFINITY);
write(String('') + Number.NEGATIVE_INFINITY);
write(String('') + new Number(NaN));
write(String('') + new Number(+0));
write(String('') + new Number(-0));
write(String('') + new Number(0));
write(String('') + new Number(0.0));
write(String('') + new Number(-0.0));
write(String('') + new Number(+0.0));
write(String('') + new Number(1));
write(String('') + new Number(10));
write(String('') + new Number(10.0));
write(String('') + new Number(10.1));
write(String('') + new Number(-1));
write(String('') + new Number(-10));
write(String('') + new Number(-10.0));
write(String('') + new Number(-10.1));
write(String('') + new Number(Number.MAX_VALUE));
write(String('') + new Number(Number.MIN_VALUE));
write(String('') + new Number(Number.NaN));
write(String('') + new Number(Number.POSITIVE_INFINITY));
write(String('') + new Number(Number.NEGATIVE_INFINITY));
write(String('') + '');
write(String('') + 0xa);
write(String('') + 04);
write(String('') + 'hello');
write(String('') + 'hel' + 'lo');
write(String('') + String(''));
write(String('') + String('hello'));
write(String('') + String('h' + 'ello'));
write(String('') + new String(''));
write(String('') + new String('hello'));
write(String('') + new String('he' + 'llo'));
write(String('') + new Object());
write(String('') + new Object());
write(String('') + [1, 2, 3]);
write(String('') + [1 ,2 , 3]);
write(String('') + new Array(3));
write(String('') + Array(3));
write(String('') + new Array(1 ,2 ,3));
write(String('') + Array(1));
write(String('') + foo);
write(String('hello') + undefined);
write(String('hello') + null);
write(String('hello') + true);
write(String('hello') + false);
write(String('hello') + Boolean(true));
write(String('hello') + Boolean(false));
write(String('hello') + new Boolean(true));
write(String('hello') + new Boolean(false));
write(String('hello') + NaN);
write(String('hello') + +0);
write(String('hello') + -0);
write(String('hello') + 0);
write(String('hello') + 0.0);
write(String('hello') + -0.0);
write(String('hello') + +0.0);
write(String('hello') + 1);
write(String('hello') + 10);
write(String('hello') + 10.0);
write(String('hello') + 10.1);
write(String('hello') + -1);
write(String('hello') + -10);
write(String('hello') + -10.0);
write(String('hello') + -10.1);
write(String('hello') + Number.MAX_VALUE);
write(String('hello') + Number.MIN_VALUE);
write(String('hello') + Number.NaN);
write(String('hello') + Number.POSITIVE_INFINITY);
write(String('hello') + Number.NEGATIVE_INFINITY);
write(String('hello') + new Number(NaN));
write(String('hello') + new Number(+0));
write(String('hello') + new Number(-0));
write(String('hello') + new Number(0));
write(String('hello') + new Number(0.0));
write(String('hello') + new Number(-0.0));
write(String('hello') + new Number(+0.0));
write(String('hello') + new Number(1));
write(String('hello') + new Number(10));
write(String('hello') + new Number(10.0));
write(String('hello') + new Number(10.1));
write(String('hello') + new Number(-1));
write(String('hello') + new Number(-10));
write(String('hello') + new Number(-10.0));
write(String('hello') + new Number(-10.1));
write(String('hello') + new Number(Number.MAX_VALUE));
write(String('hello') + new Number(Number.MIN_VALUE));
write(String('hello') + new Number(Number.NaN));
write(String('hello') + new Number(Number.POSITIVE_INFINITY));
write(String('hello') + new Number(Number.NEGATIVE_INFINITY));
write(String('hello') + '');
write(String('hello') + 0xa);
write(String('hello') + 04);
write(String('hello') + 'hello');
write(String('hello') + 'hel' + 'lo');
write(String('hello') + String(''));
write(String('hello') + String('hello'));
write(String('hello') + String('h' + 'ello'));
write(String('hello') + new String(''));
write(String('hello') + new String('hello'));
write(String('hello') + new String('he' + 'llo'));
write(String('hello') + new Object());
write(String('hello') + new Object());
write(String('hello') + [1, 2, 3]);
write(String('hello') + [1 ,2 , 3]);
write(String('hello') + new Array(3));
write(String('hello') + Array(3));
write(String('hello') + new Array(1 ,2 ,3));
write(String('hello') + Array(1));
write(String('hello') + foo);
write(String('h' + 'ello') + undefined);
write(String('h' + 'ello') + null);
write(String('h' + 'ello') + true);
write(String('h' + 'ello') + false);
write(String('h' + 'ello') + Boolean(true));
write(String('h' + 'ello') + Boolean(false));
write(String('h' + 'ello') + new Boolean(true));
write(String('h' + 'ello') + new Boolean(false));
write(String('h' + 'ello') + NaN);
write(String('h' + 'ello') + +0);
write(String('h' + 'ello') + -0);
write(String('h' + 'ello') + 0);
write(String('h' + 'ello') + 0.0);
write(String('h' + 'ello') + -0.0);
write(String('h' + 'ello') + +0.0);
write(String('h' + 'ello') + 1);
write(String('h' + 'ello') + 10);
write(String('h' + 'ello') + 10.0);
write(String('h' + 'ello') + 10.1);
write(String('h' + 'ello') + -1);
write(String('h' + 'ello') + -10);
write(String('h' + 'ello') + -10.0);
write(String('h' + 'ello') + -10.1);
write(String('h' + 'ello') + Number.MAX_VALUE);
write(String('h' + 'ello') + Number.MIN_VALUE);
write(String('h' + 'ello') + Number.NaN);
write(String('h' + 'ello') + Number.POSITIVE_INFINITY);
write(String('h' + 'ello') + Number.NEGATIVE_INFINITY);
write(String('h' + 'ello') + new Number(NaN));
write(String('h' + 'ello') + new Number(+0));
write(String('h' + 'ello') + new Number(-0));
write(String('h' + 'ello') + new Number(0));
write(String('h' + 'ello') + new Number(0.0));
write(String('h' + 'ello') + new Number(-0.0));
write(String('h' + 'ello') + new Number(+0.0));
write(String('h' + 'ello') + new Number(1));
write(String('h' + 'ello') + new Number(10));
write(String('h' + 'ello') + new Number(10.0));
write(String('h' + 'ello') + new Number(10.1));
write(String('h' + 'ello') + new Number(-1));
write(String('h' + 'ello') + new Number(-10));
write(String('h' + 'ello') + new Number(-10.0));
write(String('h' + 'ello') + new Number(-10.1));
write(String('h' + 'ello') + new Number(Number.MAX_VALUE));
write(String('h' + 'ello') + new Number(Number.MIN_VALUE));
write(String('h' + 'ello') + new Number(Number.NaN));
write(String('h' + 'ello') + new Number(Number.POSITIVE_INFINITY));
write(String('h' + 'ello') + new Number(Number.NEGATIVE_INFINITY));
write(String('h' + 'ello') + '');
write(String('h' + 'ello') + 0xa);
write(String('h' + 'ello') + 04);
write(String('h' + 'ello') + 'hello');
write(String('h' + 'ello') + 'hel' + 'lo');
write(String('h' + 'ello') + String(''));
write(String('h' + 'ello') + String('hello'));
write(String('h' + 'ello') + String('h' + 'ello'));
write(String('h' + 'ello') + new String(''));
write(String('h' + 'ello') + new String('hello'));
write(String('h' + 'ello') + new String('he' + 'llo'));
write(String('h' + 'ello') + new Object());
write(String('h' + 'ello') + new Object());
write(String('h' + 'ello') + [1, 2, 3]);
write(String('h' + 'ello') + [1 ,2 , 3]);
write(String('h' + 'ello') + new Array(3));
write(String('h' + 'ello') + Array(3));
write(String('h' + 'ello') + new Array(1 ,2 ,3));
write(String('h' + 'ello') + Array(1));
write(String('h' + 'ello') + foo);
write(new String('') + undefined);
write(new String('') + null);
write(new String('') + true);
write(new String('') + false);
write(new String('') + Boolean(true));
write(new String('') + Boolean(false));
write(new String('') + new Boolean(true));
write(new String('') + new Boolean(false));
write(new String('') + NaN);
write(new String('') + +0);
write(new String('') + -0);
write(new String('') + 0);
write(new String('') + 0.0);
write(new String('') + -0.0);
write(new String('') + +0.0);
write(new String('') + 1);
write(new String('') + 10);
write(new String('') + 10.0);
write(new String('') + 10.1);
write(new String('') + -1);
write(new String('') + -10);
write(new String('') + -10.0);
write(new String('') + -10.1);
write(new String('') + Number.MAX_VALUE);
write(new String('') + Number.MIN_VALUE);
write(new String('') + Number.NaN);
write(new String('') + Number.POSITIVE_INFINITY);
write(new String('') + Number.NEGATIVE_INFINITY);
write(new String('') + new Number(NaN));
write(new String('') + new Number(+0));
write(new String('') + new Number(-0));
write(new String('') + new Number(0));
write(new String('') + new Number(0.0));
write(new String('') + new Number(-0.0));
write(new String('') + new Number(+0.0));
write(new String('') + new Number(1));
write(new String('') + new Number(10));
write(new String('') + new Number(10.0));
write(new String('') + new Number(10.1));
write(new String('') + new Number(-1));
write(new String('') + new Number(-10));
write(new String('') + new Number(-10.0));
write(new String('') + new Number(-10.1));
write(new String('') + new Number(Number.MAX_VALUE));
write(new String('') + new Number(Number.MIN_VALUE));
write(new String('') + new Number(Number.NaN));
write(new String('') + new Number(Number.POSITIVE_INFINITY));
write(new String('') + new Number(Number.NEGATIVE_INFINITY));
write(new String('') + '');
write(new String('') + 0xa);
write(new String('') + 04);
write(new String('') + 'hello');
write(new String('') + 'hel' + 'lo');
write(new String('') + String(''));
write(new String('') + String('hello'));
write(new String('') + String('h' + 'ello'));
write(new String('') + new String(''));
write(new String('') + new String('hello'));
write(new String('') + new String('he' + 'llo'));
write(new String('') + new Object());
write(new String('') + new Object());
write(new String('') + [1, 2, 3]);
write(new String('') + [1 ,2 , 3]);
write(new String('') + new Array(3));
write(new String('') + Array(3));
write(new String('') + new Array(1 ,2 ,3));
write(new String('') + Array(1));
write(new String('') + foo);
write(new String('hello') + undefined);
write(new String('hello') + null);
write(new String('hello') + true);
write(new String('hello') + false);
write(new String('hello') + Boolean(true));
write(new String('hello') + Boolean(false));
write(new String('hello') + new Boolean(true));
write(new String('hello') + new Boolean(false));
write(new String('hello') + NaN);
write(new String('hello') + +0);
write(new String('hello') + -0);
write(new String('hello') + 0);
write(new String('hello') + 0.0);
write(new String('hello') + -0.0);
write(new String('hello') + +0.0);
write(new String('hello') + 1);
write(new String('hello') + 10);
write(new String('hello') + 10.0);
write(new String('hello') + 10.1);
write(new String('hello') + -1);
write(new String('hello') + -10);
write(new String('hello') + -10.0);
write(new String('hello') + -10.1);
write(new String('hello') + Number.MAX_VALUE);
write(new String('hello') + Number.MIN_VALUE);
write(new String('hello') + Number.NaN);
write(new String('hello') + Number.POSITIVE_INFINITY);
write(new String('hello') + Number.NEGATIVE_INFINITY);
write(new String('hello') + new Number(NaN));
write(new String('hello') + new Number(+0));
write(new String('hello') + new Number(-0));
write(new String('hello') + new Number(0));
write(new String('hello') + new Number(0.0));
write(new String('hello') + new Number(-0.0));
write(new String('hello') + new Number(+0.0));
write(new String('hello') + new Number(1));
write(new String('hello') + new Number(10));
write(new String('hello') + new Number(10.0));
write(new String('hello') + new Number(10.1));
write(new String('hello') + new Number(-1));
write(new String('hello') + new Number(-10));
write(new String('hello') + new Number(-10.0));
write(new String('hello') + new Number(-10.1));
write(new String('hello') + new Number(Number.MAX_VALUE));
write(new String('hello') + new Number(Number.MIN_VALUE));
write(new String('hello') + new Number(Number.NaN));
write(new String('hello') + new Number(Number.POSITIVE_INFINITY));
write(new String('hello') + new Number(Number.NEGATIVE_INFINITY));
write(new String('hello') + '');
write(new String('hello') + 0xa);
write(new String('hello') + 04);
write(new String('hello') + 'hello');
write(new String('hello') + 'hel' + 'lo');
write(new String('hello') + String(''));
write(new String('hello') + String('hello'));
write(new String('hello') + String('h' + 'ello'));
write(new String('hello') + new String(''));
write(new String('hello') + new String('hello'));
write(new String('hello') + new String('he' + 'llo'));
write(new String('hello') + new Object());
write(new String('hello') + new Object());
write(new String('hello') + [1, 2, 3]);
write(new String('hello') + [1 ,2 , 3]);
write(new String('hello') + new Array(3));
write(new String('hello') + Array(3));
write(new String('hello') + new Array(1 ,2 ,3));
write(new String('hello') + Array(1));
write(new String('hello') + foo);
write(new String('he' + 'llo') + undefined);
write(new String('he' + 'llo') + null);
write(new String('he' + 'llo') + true);
write(new String('he' + 'llo') + false);
write(new String('he' + 'llo') + Boolean(true));
write(new String('he' + 'llo') + Boolean(false));
write(new String('he' + 'llo') + new Boolean(true));
write(new String('he' + 'llo') + new Boolean(false));
write(new String('he' + 'llo') + NaN);
write(new String('he' + 'llo') + +0);
write(new String('he' + 'llo') + -0);
write(new String('he' + 'llo') + 0);
write(new String('he' + 'llo') + 0.0);
write(new String('he' + 'llo') + -0.0);
write(new String('he' + 'llo') + +0.0);
write(new String('he' + 'llo') + 1);
write(new String('he' + 'llo') + 10);
write(new String('he' + 'llo') + 10.0);
write(new String('he' + 'llo') + 10.1);
write(new String('he' + 'llo') + -1);
write(new String('he' + 'llo') + -10);
write(new String('he' + 'llo') + -10.0);
write(new String('he' + 'llo') + -10.1);
write(new String('he' + 'llo') + Number.MAX_VALUE);
write(new String('he' + 'llo') + Number.MIN_VALUE);
write(new String('he' + 'llo') + Number.NaN);
write(new String('he' + 'llo') + Number.POSITIVE_INFINITY);
write(new String('he' + 'llo') + Number.NEGATIVE_INFINITY);
write(new String('he' + 'llo') + new Number(NaN));
write(new String('he' + 'llo') + new Number(+0));
write(new String('he' + 'llo') + new Number(-0));
write(new String('he' + 'llo') + new Number(0));
write(new String('he' + 'llo') + new Number(0.0));
write(new String('he' + 'llo') + new Number(-0.0));
write(new String('he' + 'llo') + new Number(+0.0));
write(new String('he' + 'llo') + new Number(1));
write(new String('he' + 'llo') + new Number(10));
write(new String('he' + 'llo') + new Number(10.0));
write(new String('he' + 'llo') + new Number(10.1));
write(new String('he' + 'llo') + new Number(-1));
write(new String('he' + 'llo') + new Number(-10));
write(new String('he' + 'llo') + new Number(-10.0));
write(new String('he' + 'llo') + new Number(-10.1));
write(new String('he' + 'llo') + new Number(Number.MAX_VALUE));
write(new String('he' + 'llo') + new Number(Number.MIN_VALUE));
write(new String('he' + 'llo') + new Number(Number.NaN));
write(new String('he' + 'llo') + new Number(Number.POSITIVE_INFINITY));
write(new String('he' + 'llo') + new Number(Number.NEGATIVE_INFINITY));
write(new String('he' + 'llo') + '');
write(new String('he' + 'llo') + 0xa);
write(new String('he' + 'llo') + 04);
write(new String('he' + 'llo') + 'hello');
write(new String('he' + 'llo') + 'hel' + 'lo');
write(new String('he' + 'llo') + String(''));
write(new String('he' + 'llo') + String('hello'));
write(new String('he' + 'llo') + String('h' + 'ello'));
write(new String('he' + 'llo') + new String(''));
write(new String('he' + 'llo') + new String('hello'));
write(new String('he' + 'llo') + new String('he' + 'llo'));
